﻿#light
module PricingRules.Forwards

open System

let BasicForwardPrice spotPrice interestRate timePeriod =
    spotPrice * (Math.E ** (interestRate * timePeriod))

let PresentValue fixedStorageCost interestRate interestPayments timePeriod =
    1   // todo

let ForwardPriceWithStorage spotPrice fixedStorageCost interestRate timePeriod =
    (spotPrice + fixedStorageCost) * (Math.E ** (interestRate * timePeriod))

let ForwardPrice S U I r u i y rf t = 
    (S + U - I) * (Math.E ** ((r + u - i - y - rf) * t))